Introduction

This experiment is different from the exp-01.rmd which was just a one off experiment to make sure things look good. In this experiment, 6 different gamma lot reagents were sampled from the gamma shipment and then run.

benchling

conluence doc

There are 3 types of standards in the plate 1. Gamma lot standards 2. Beta lot standards
3. Platinum standards

Platinum standards

Each panel has two sets of platinum standards. Here is how each set is divided

Panel 1 - Platinum Set 1 –> CXCL8, FLT3L, MUC16, IL1R2 Platinum Set 2 –> NA(not part of our 7 marker panel)

Panel 2 - Platinum Set 1 –> CEACAM5, WFDC2 Platinum Set 2 –> TNC

Import data from pate using these commands

pate-rnd xmap-collector --include_file_str GammaLot_QC \--out_file_name gamma_lot_qc.csv
## 
ℹ Downloading user_data_frames/gamma_lot_qc.csv

✓ Saved user_data_frames/gamma_lot_qc.csv to /home/ddhillon/proj…
## [1] TRUE

import data locally

## New names:
## * `` -> ...1
Data summary
Name Piped data
Number of rows 18432
Number of columns 45
_______________________
Column type frequency:
character 12
Date 1
logical 10
numeric 22
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
xponent_id 0 1.00 3 19 0 66 0
sample_type 0 1.00 5 10 0 4 0
well_id 0 1.00 2 3 0 384 0
well_row 0 1.00 1 1 0 16 0
assay 0 1.00 3 7 0 7 0
conc_units 0 1.00 4 5 0 2 0
instrument_serial 5376 0.71 13 13 0 6 0
computer_name 5376 0.71 9 9 0 6 0
file_name 0 1.00 54 54 0 14 0
xponent_comments 13855 0.25 12 12 0 1 0
FN_comments 0 1.00 6 131 0 21 0
panel 0 1.00 7 7 0 2 0

Variable type: Date

skim_variable n_missing complete_rate min max median n_unique
run_date 5376 0.71 2022-03-18 2022-03-22 2022-03-18 2

Variable type: logical

skim_variable n_missing complete_rate mean count
Control1_control_expected_concentration 18432 0 NaN :
Control2_control_expected_concentration 18432 0 NaN :
Control1_control_range_low 18432 0 NaN :
Control2_control_range_low 18432 0 NaN :
Control1_control_range_high 18432 0 NaN :
Control2_control_range_high 18432 0 NaN :
calc_conc_min_truncated 0 1 0.20 FAL: 14785, TRU: 3647
calc_conc_max_truncated 0 1 0.01 FAL: 18235, TRU: 197
avg_conc_min_truncated 0 1 0.20 FAL: 14708, TRU: 3724
avg_conc_max_truncated 0 1 0.03 FAL: 17938, TRU: 494

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
…1 0 1.00 26190.91 15011.32 264.00 13067.75 26249.50 39166.25 52211.00 ▇▇▇▇▇
well_column 0 1.00 12.50 6.92 1.00 6.75 12.50 18.25 24.00 ▇▇▆▇▇
dilution_factor 2016 0.89 3.85 6.59 1.00 1.00 1.00 2.00 20.00 ▇▁▁▁▁
standard_expected_concentration 16704 0.09 3963.20 8678.03 2.32 42.79 451.41 2738.75 43820.00 ▇▁▁▁▁
bead_count 135 0.99 48.73 10.67 0.00 41.00 48.00 55.00 120.00 ▁▇▇▁▁
median_mfi 141 0.99 4450.74 12523.13 24.00 59.00 104.00 1283.00 92603.00 ▇▁▁▁▁
avg_median_mfi 12 1.00 4420.06 12472.28 40.58 59.42 99.00 1244.75 90050.00 ▇▁▁▁▁
pct_cv_median_mfi 12 1.00 7.65 4.21 0.00 4.63 7.27 9.60 34.31 ▇▇▁▁▁
net_mfi 141 0.99 4387.18 12523.67 -26.58 1.00 37.58 1223.92 92551.08 ▇▁▁▁▁
avg_net_mfi 714 0.96 4529.05 12686.77 -12.17 0.61 47.54 1411.81 89998.08 ▇▁▁▁▁
calc_conc 429 0.98 3020.72 11326.15 0.00 6.17 40.20 988.61 159139.94 ▇▁▁▁▁
avg_conc 428 0.98 3020.56 11284.23 0.00 5.71 40.75 1003.78 155942.93 ▇▁▁▁▁
conc_pct_cv 5754 0.69 9.21 12.32 0.00 2.15 5.08 11.84 110.87 ▇▁▁▁▁
pct_recovery 16739 0.09 102.98 14.45 52.52 95.89 101.21 107.35 210.19 ▁▇▁▁▁
calc_conc_truncated 429 0.98 2911.67 10766.89 1.66 12.66 34.92 988.61 159139.94 ▇▁▁▁▁
avg_conc_truncated 5754 0.69 3801.87 12155.17 2.34 17.23 105.99 2418.72 155942.93 ▇▁▁▁▁
calc_conc_standards_min 0 1.00 14.10 11.06 1.66 4.83 12.52 23.59 35.27 ▇▆▁▂▃
calc_conc_standards_max 0 1.00 20381.35 17127.67 2493.60 8126.43 16156.41 31531.02 60903.58 ▇▆▂▁▃
avg_conc_standards_min 0 1.00 18.51 14.30 2.34 8.14 15.59 28.62 47.38 ▇▆▂▁▃
avg_conc_standards_max 0 1.00 16927.98 15707.44 1437.42 2346.91 15480.60 29068.28 46543.16 ▇▆▁▂▃
conc_pct_cv_truncated 0 1.00 4.94 1.41 3.27 3.62 4.74 6.19 7.50 ▇▁▂▃▁
kit_lot 5376 0.71 1655232.53 0.50 1655232.00 1655232.00 1655233.00 1655233.00 1655233.00 ▇▁▁▁▇

why are there 3 plate 1 for panel 2? - DELETE UNTIL FURTHER CLARIFICATION

## # A tibble: 14 × 2
##    file_name                                                  n
##    <chr>                                                  <int>
##  1 20220317_GammaLot_QC_Panel1_Plate1_20220318_134253.csv  1536
##  2 20220317_GammaLot_QC_Panel1_Plate2_20220318_151455.csv  1536
##  3 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv  1152
##  4 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv  1152
##  5 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv  1152
##  6 20220317_GammaLot_QC_Panel2_Plate2_20220318_151818.csv  1152
##  7 20220321_GammaLot_QC_Panel1_Plate3_20220322_132316.csv  1536
##  8 20220321_GammaLot_QC_Panel1_Plate4_20220322_160459.csv  1536
##  9 20220321_GammaLot_QC_Panel2_Plate3_20220322_133423.csv  1152
## 10 20220322_GammaLot_QC_Panel2_Plate4_20220322_155307.csv  1152
## 11 20220329_GammaLot_QC_Panel1_Plate5_20220330_164222.csv  1536
## 12 20220329_GammaLot_QC_Panel2_Plate5_20220330_170254.csv  1152
## 13 20220330_GammaLot_QC_Panel1_Plate6_20220331_142218.csv  1536
## 14 20220330_GammaLot_QC_Panel2_Plate6_20220331_142301.csv  1152
## # A tibble: 4 × 2
##   file_name                                                  n
##   <chr>                                                  <int>
## 1 20220317_GammaLot_QC_Panel1_Plate1_20220318_134253.csv  1536
## 2 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv  1152
## 3 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv  1152
## 4 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv  1152
Data summary
Name Piped data
Number of rows 3456
Number of columns 45
_______________________
Column type frequency:
character 11
Date 1
logical 10
numeric 22
________________________
Group variables file_name

Variable type: character

skim_variable file_name n_missing complete_rate min max empty n_unique whitespace
xponent_id 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 3 19 0 51 0
xponent_id 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 3 19 0 51 0
xponent_id 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 3 19 0 51 0
sample_type 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 5 10 0 4 0
sample_type 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 5 10 0 4 0
sample_type 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 5 10 0 4 0
well_id 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 2 3 0 384 0
well_id 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 2 3 0 384 0
well_id 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 2 3 0 384 0
well_row 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 1 1 0 16 0
well_row 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 1 1 0 16 0
well_row 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 1 1 0 16 0
assay 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 3 7 0 3 0
assay 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 3 7 0 3 0
assay 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 3 7 0 3 0
conc_units 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 5 5 0 1 0
conc_units 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 5 5 0 1 0
conc_units 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 5 5 0 1 0
instrument_serial 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 13 13 0 1 0
instrument_serial 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 13 13 0 1 0
instrument_serial 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 13 13 0 1 0
computer_name 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 9 9 0 1 0
computer_name 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 9 9 0 1 0
computer_name 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 9 9 0 1 0
xponent_comments 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 967 0.16 12 12 0 1 0
xponent_comments 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 959 0.17 12 12 0 1 0
xponent_comments 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 960 0.17 12 12 0 1 0
FN_comments 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 6 131 0 11 0
FN_comments 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 6 129 0 11 0
FN_comments 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 6 77 0 7 0
panel 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 7 7 0 1 0
panel 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 7 7 0 1 0
panel 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 7 7 0 1 0

Variable type: Date

skim_variable file_name n_missing complete_rate min max median n_unique
run_date 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1 2022-03-18 2022-03-18 2022-03-18 1
run_date 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1 2022-03-18 2022-03-18 2022-03-18 1
run_date 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1 2022-03-18 2022-03-18 2022-03-18 1

Variable type: logical

skim_variable file_name n_missing complete_rate mean count
Control1_control_expected_concentration 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 1152 0 NaN :
Control1_control_expected_concentration 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 1152 0 NaN :
Control1_control_expected_concentration 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 1152 0 NaN :
Control2_control_expected_concentration 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 1152 0 NaN :
Control2_control_expected_concentration 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 1152 0 NaN :
Control2_control_expected_concentration 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 1152 0 NaN :
Control1_control_range_low 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 1152 0 NaN :
Control1_control_range_low 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 1152 0 NaN :
Control1_control_range_low 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 1152 0 NaN :
Control2_control_range_low 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 1152 0 NaN :
Control2_control_range_low 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 1152 0 NaN :
Control2_control_range_low 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 1152 0 NaN :
Control1_control_range_high 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 1152 0 NaN :
Control1_control_range_high 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 1152 0 NaN :
Control1_control_range_high 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 1152 0 NaN :
Control2_control_range_high 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 1152 0 NaN :
Control2_control_range_high 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 1152 0 NaN :
Control2_control_range_high 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 1152 0 NaN :
calc_conc_min_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1 0.12 FAL: 1019, TRU: 133
calc_conc_min_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1 0.12 FAL: 1011, TRU: 141
calc_conc_min_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1 0.12 FAL: 1011, TRU: 141
calc_conc_max_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1 0.01 FAL: 1143, TRU: 9
calc_conc_max_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1 0.01 FAL: 1143, TRU: 9
calc_conc_max_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1 0.01 FAL: 1143, TRU: 9
avg_conc_min_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1 0.07 FAL: 1072, TRU: 80
avg_conc_min_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1 0.19 FAL: 928, TRU: 224
avg_conc_min_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1 0.20 FAL: 922, TRU: 230
avg_conc_max_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1 0.03 FAL: 1118, TRU: 34
avg_conc_max_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1 0.03 FAL: 1118, TRU: 34
avg_conc_max_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1 0.03 FAL: 1118, TRU: 34

Variable type: numeric

skim_variable file_name n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
…1 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 10727.09 910.22 9216.00 9899.75 10747.50 11510.25 12275.00 ▇▇▇▇▇
…1 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 13799.09 910.22 12288.00 12971.75 13819.50 14582.25 15347.00 ▇▇▇▇▇
…1 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 16871.09 910.22 15360.00 16043.75 16891.50 17654.25 18419.00 ▇▇▇▇▇
well_column 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 12.50 6.93 1.00 6.75 12.50 18.25 24.00 ▇▇▆▇▇
well_column 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 12.50 6.93 1.00 6.75 12.50 18.25 24.00 ▇▇▆▇▇
well_column 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 12.50 6.93 1.00 6.75 12.50 18.25 24.00 ▇▇▆▇▇
dilution_factor 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 126 0.89 6.33 8.54 1.00 1.00 1.00 20.00 20.00 ▇▁▁▁▃
dilution_factor 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 126 0.89 6.33 8.54 1.00 1.00 1.00 20.00 20.00 ▇▁▁▁▃
dilution_factor 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 126 0.89 6.33 8.54 1.00 1.00 1.00 20.00 20.00 ▇▁▁▁▃
standard_expected_concentration 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 1044 0.09 5003.22 10390.67 8.11 60.31 601.72 3860.00 43820.00 ▇▁▁▁▁
standard_expected_concentration 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 1044 0.09 5003.22 10390.67 8.11 60.31 601.72 3860.00 43820.00 ▇▁▁▁▁
standard_expected_concentration 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 1044 0.09 5003.22 10390.67 8.11 60.31 601.72 3860.00 43820.00 ▇▁▁▁▁
bead_count 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 135 0.88 44.66 8.56 0.00 38.00 43.00 50.00 85.00 ▁▁▇▂▁
bead_count 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 44.64 8.61 0.00 38.00 43.00 50.00 85.00 ▁▁▇▂▁
bead_count 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 44.74 8.32 35.00 38.00 43.00 50.00 85.00 ▇▅▂▁▁
median_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 138 0.88 5572.40 14700.80 33.00 72.00 191.00 2170.00 84573.00 ▇▁▁▁▁
median_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 3 1.00 4932.00 13920.93 28.00 66.00 118.00 1523.00 84573.00 ▇▁▁▁▁
median_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 4919.27 13905.01 28.00 66.00 117.25 1484.00 84573.00 ▇▁▁▁▁
avg_median_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 12 0.99 4964.20 13964.66 43.92 65.71 114.08 1520.33 82082.25 ▇▁▁▁▁
avg_median_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 4919.33 13898.78 43.92 64.32 115.38 1520.33 82082.25 ▇▁▁▁▁
avg_median_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 4919.27 13898.80 43.92 64.28 115.38 1520.33 82082.25 ▇▁▁▁▁
pct_cv_median_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 12 0.99 7.70 4.23 0.00 4.47 7.45 10.55 19.42 ▅▇▅▃▁
pct_cv_median_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 8.06 4.35 0.85 4.47 8.42 11.83 19.42 ▆▆▇▃▁
pct_cv_median_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 8.07 4.34 0.85 4.47 8.42 11.82 19.42 ▆▆▇▃▁
net_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 138 0.88 5503.56 14702.67 -18.50 3.42 100.92 2096.56 84506.00 ▇▁▁▁▁
net_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 3 1.00 4863.17 13922.66 -23.00 0.58 47.92 1451.42 84506.00 ▇▁▁▁▁
net_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 4850.44 13906.73 -26.58 0.58 46.58 1429.04 84506.00 ▇▁▁▁▁
avg_net_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 444 0.61 7881.85 17049.31 -2.62 70.92 499.50 3774.50 82015.25 ▇▁▁▁▁
avg_net_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 18 0.98 4927.49 13996.94 -6.50 -1.32 59.17 1476.42 82015.25 ▇▁▁▁▁
avg_net_mfi 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 18 0.98 4927.43 13996.96 -12.17 -1.42 59.17 1476.42 82015.25 ▇▁▁▁▁
calc_conc 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 156 0.86 5811.03 17061.95 0.04 15.08 63.75 3988.81 154944.69 ▇▁▁▁▁
calc_conc 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 21 0.98 5158.61 16115.24 0.04 15.08 42.79 3069.94 154944.69 ▇▁▁▁▁
calc_conc 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 18 0.98 5145.03 16096.05 0.04 15.08 42.79 3054.20 154944.69 ▇▁▁▁▁
avg_conc 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 156 0.86 5811.03 16992.95 0.04 15.08 64.56 4001.05 147276.00 ▇▁▁▁▁
avg_conc 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 20 0.98 5154.10 16044.48 0.04 15.08 42.79 3065.04 147276.00 ▇▁▁▁▁
avg_conc 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 18 0.98 5145.03 16031.76 0.04 15.08 42.79 3065.04 147276.00 ▇▁▁▁▁
conc_pct_cv 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 514 0.55 7.51 8.95 0.00 2.53 4.70 8.12 57.92 ▇▂▁▁▁
conc_pct_cv 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 358 0.69 6.13 8.53 0.00 0.00 3.99 6.90 57.92 ▇▁▁▁▁
conc_pct_cv 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 352 0.69 6.08 8.52 0.00 0.00 3.90 6.80 57.92 ▇▁▁▁▁
pct_recovery 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 1048 0.09 102.36 12.98 68.99 96.01 101.73 105.32 141.89 ▁▃▇▁▁
pct_recovery 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 1048 0.09 102.36 12.98 68.99 96.01 101.73 105.32 141.89 ▁▃▇▁▁
pct_recovery 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 1048 0.09 102.36 12.98 68.99 96.01 101.73 105.32 141.89 ▁▃▇▁▁
calc_conc_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 156 0.86 5513.89 15896.96 5.71 15.08 61.01 3988.81 154944.69 ▇▁▁▁▁
calc_conc_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 21 0.98 4896.98 15018.61 5.71 15.08 42.79 3069.94 154944.69 ▇▁▁▁▁
calc_conc_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 18 0.98 4884.08 15000.80 5.71 15.08 42.79 3054.20 154944.69 ▇▁▁▁▁
avg_conc_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 514 0.55 7843.93 18705.37 10.32 60.78 1321.37 7054.25 147276.00 ▇▁▁▁▁
avg_conc_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 358 0.69 6366.22 17038.82 10.32 45.65 511.03 4809.97 147276.00 ▇▁▁▁▁
avg_conc_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 352 0.69 6318.56 16983.59 10.32 45.65 511.03 4624.72 147276.00 ▇▁▁▁▁
calc_conc_standards_min 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 17.21 11.78 5.71 5.71 12.52 33.39 33.39 ▇▇▁▁▇
calc_conc_standards_min 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 17.21 11.78 5.71 5.71 12.52 33.39 33.39 ▇▇▁▁▇
calc_conc_standards_min 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 17.21 11.78 5.71 5.71 12.52 33.39 33.39 ▇▇▁▁▇
calc_conc_standards_max 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 25228.31 18744.17 8300.00 8300.00 16039.35 51345.58 51345.58 ▇▁▁▁▃
calc_conc_standards_max 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 25228.31 18744.17 8300.00 8300.00 16039.35 51345.58 51345.58 ▇▁▁▁▃
calc_conc_standards_max 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 25228.31 18744.17 8300.00 8300.00 16039.35 51345.58 51345.58 ▇▁▁▁▃
avg_conc_standards_min 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 23.78 15.61 10.32 10.32 15.37 45.65 45.65 ▇▁▁▁▃
avg_conc_standards_min 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 23.78 15.61 10.32 10.32 15.37 45.65 45.65 ▇▁▁▁▃
avg_conc_standards_min 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 23.78 15.61 10.32 10.32 15.37 45.65 45.65 ▇▁▁▁▃
avg_conc_standards_max 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 21081.94 18183.14 2157.55 2157.55 15480.60 45607.67 45607.67 ▇▇▁▁▇
avg_conc_standards_max 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 21081.94 18183.14 2157.55 2157.55 15480.60 45607.67 45607.67 ▇▇▁▁▇
avg_conc_standards_max 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 21081.94 18183.14 2157.55 2157.55 15480.60 45607.67 45607.67 ▇▇▁▁▇
conc_pct_cv_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 3.42 0.00 3.42 3.42 3.42 3.42 3.42 ▁▁▇▁▁
conc_pct_cv_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 3.61 0.00 3.61 3.61 3.61 3.61 3.61 ▁▁▇▁▁
conc_pct_cv_truncated 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 3.62 0.00 3.62 3.62 3.62 3.62 3.62 ▁▁▇▁▁
kit_lot 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv 0 1.00 1655233.00 0.00 1655233.00 1655233.00 1655233.00 1655233.00 1655233.00 ▁▁▇▁▁
kit_lot 20220317_GammaLot_QC_Panel2_Plate1_20220318_141840.csv 0 1.00 1655233.00 0.00 1655233.00 1655233.00 1655233.00 1655233.00 1655233.00 ▁▁▇▁▁
kit_lot 20220317_GammaLot_QC_Panel2_Plate1_20220318_143348.csv 0 1.00 1655233.00 0.00 1655233.00 1655233.00 1655233.00 1655233.00 1655233.00 ▁▁▇▁▁

Seems like 20220317_GammaLot_QC_Panel2_Plate1_20220318_133136.csv has some missing bead counts - on checking with Jinesh and wilson, they suggest not using this and using the latest run of these 3.

## # A tibble: 135 × 45
##     ...1 xponent_id   sample_type well_id well_row well_column
##    <dbl> <chr>        <chr>       <chr>   <chr>          <dbl>
##  1  9311 Assay Buffer sample      O4      O                  4
##  2  9312 Assay Buffer sample      O5      O                  5
##  3  9313 Assay Buffer sample      O6      O                  6
##  4  9314 Assay Buffer sample      O7      O                  7
##  5  9315 Assay Buffer sample      O8      O                  8
##  6  9316 Assay Buffer sample      O11     O                 11
##  7  9317 Assay Buffer sample      O12     O                 12
##  8  9318 Assay Buffer sample      O13     O                 13
##  9  9319 Assay Buffer sample      O14     O                 14
## 10  9320 Assay Buffer sample      O15     O                 15
## # … with 125 more rows, and 39 more variables: assay <chr>,
## #   dilution_factor <dbl>, conc_units <chr>,
## #   standard_expected_concentration <dbl>, bead_count <dbl>,
## #   median_mfi <dbl>, avg_median_mfi <dbl>,
## #   pct_cv_median_mfi <dbl>, net_mfi <dbl>, avg_net_mfi <dbl>,
## #   calc_conc <dbl>, avg_conc <dbl>, conc_pct_cv <dbl>,
## #   pct_recovery <dbl>, …

Which samples failed bead count? several bead count failures for standard 6 in the platinum set - but none of these contain the standards of interest

  1. Remove the wells with bead counts < 35 and create a ‘clean’ data set and output
  2. Don’t use the plate 6 for panel 1

Part 1

For the curves fit using gamma lot, we will check the interpolated beta and platinum standard distribution

Outlier test on the results of the 6 lots

Since we have one observation of each beta and platinum standard per lot, we can’t run any statistical test of comparisons. Instead, we want to check if something is wildly different among the 6 lots.

We can achieve this by using the modified z-score outlier test on these 4 observations to detect if something is ‘different’.

Beta and platinum standards

Here we fit the curve using the gamma standards, and then interpolate the beta and platinum standards. We know that these standards are the same sample, simply run with a different lot of gamma reagents and standards.

Their distribution should be within the natural variation range. But since we don’t have any data on these gamma lot reagents, we don’t know how to estimate this natural variation.

Instead, another way to check if they are ‘similar’ is using the modified z score. This is used as an outlier test and from the reagent lots sampled, neither of these should be

Beta Standards

## `summarise()` has grouped output by 'xponent_id', 'file_name'.
## You can override using the `.groups` argument.
## Warning: Removed 6 rows containing missing values (geom_point).

Platinum Standards Set 1

## `summarise()` has grouped output by 'xponent_id', 'file_name'.
## You can override using the `.groups` argument.

CEA, std 5?

## `summarise()` has grouped output by 'xponent_id', 'file_name',
## 'assay'. You can override using the `.groups` argument.
## # A tibble: 6 × 7
##   xponent_id   file_name    assay calc_conc net_mfi computer_name
##   <chr>        <chr>        <chr>     <dbl>   <dbl> <chr>        
## 1 PltSet1 Std5 20220317_Ga… CEAC…      65.0    243. FM3D-CL06    
## 2 PltSet1 Std5 20220317_Ga… CEAC…      64.1    260. FM3D-CL03    
## 3 PltSet1 Std5 20220321_Ga… CEAC…      60.9    207. FM3D-CL01    
## 4 PltSet1 Std5 20220322_Ga… CEAC…      63.8    230. FM3D-CL03    
## 5 PltSet1 Std5 20220329_Ga… CEAC…      65.1    237. <NA>         
## 6 PltSet1 Std5 20220330_Ga… CEAC…      68.2    243. <NA>         
## # … with 1 more variable: mean_bead_count <dbl>

Platinum Standards Set 2

## `summarise()` has grouped output by 'xponent_id', 'file_name'.
## You can override using the `.groups` argument.
## Warning: `gather_()` was deprecated in tidyr 1.2.0.
## Please use `gather()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.

What’s going on for TNC std 6? (plate 3 and plate 5 seem very different)

## `summarise()` has grouped output by 'xponent_id', 'file_name',
## 'assay'. You can override using the `.groups` argument.
## # A tibble: 6 × 7
##   xponent_id   file_name    assay calc_conc net_mfi computer_name
##   <chr>        <chr>        <chr>     <dbl>   <dbl> <chr>        
## 1 PltSet2 Std6 20220317_Ga… TNC        21.2    51.3 FM3D-CL06    
## 2 PltSet2 Std6 20220317_Ga… TNC        21.8    51.9 FM3D-CL03    
## 3 PltSet2 Std6 20220321_Ga… TNC        24.9    54.6 FM3D-CL01    
## 4 PltSet2 Std6 20220322_Ga… TNC        21.4    55.3 FM3D-CL03    
## 5 PltSet2 Std6 20220329_Ga… TNC        18.5    50.3 <NA>         
## 6 PltSet2 Std6 20220330_Ga… TNC        21.9    73.7 <NA>         
## # … with 1 more variable: mean_bead_count <dbl>

Between run CVs

Platinum Standards Set 1 and 2

## `summarise()` has grouped output by 'file_name', 'assay'. You
## can override using the `.groups` argument.
## `summarise()` has grouped output by 'assay'. You can override
## using the `.groups` argument.

## `summarise()` has grouped output by 'file_name', 'assay'. You
## can override using the `.groups` argument.
## `summarise()` has grouped output by 'assay'. You can override
## using the `.groups` argument.

Generally speaking, CVs are higher for Std 6 and Std1 for a lot of the markers, so it isn’t surprising to see some outliers in the platinum standards for S6 and S1. If there were true differences in one of the lots, we would have seen this consistently.

samples

Part 2

In order for us to value assign the gamma lot standards against our platinum standards, we will

  1. Fit a curve using the platinum standards for each of the 6 runs

  2. Interpolate the gamma lot standards to the curve fit by platinum standards

  3. Take the average across all 6 runs and assign that as the value of each gamma lot standard

Create Platinum Standard Data

We need to send the value assignments to RDS for ALL 20 proteins, not just the 7 markers because RDS is not aware that we are only going forward with the 20.

## New names:
## * `` -> ...1

Value assignment of platinum standards

This deck provides with the value assignments

Create a dataframe for fitting the curve

Now we have the data we need to fit a curve using the platinum standards. The next thing we need is the gamma lot standards data which we will “infer” on

## # A tibble: 648 × 4
##    xponent_id   file_name                             assay     n
##    <chr>        <chr>                                 <chr> <int>
##  1 PltSet1 Std1 20220317_GammaLot_QC_Panel1_Plate1_2… AFP       6
##  2 PltSet1 Std1 20220317_GammaLot_QC_Panel1_Plate1_2… CCL20     6
##  3 PltSet1 Std1 20220317_GammaLot_QC_Panel1_Plate1_2… CXCL8     6
##  4 PltSet1 Std1 20220317_GammaLot_QC_Panel1_Plate1_2… EGF       6
##  5 PltSet1 Std1 20220317_GammaLot_QC_Panel1_Plate1_2… FLT3…     6
##  6 PltSet1 Std1 20220317_GammaLot_QC_Panel1_Plate1_2… HGF       6
##  7 PltSet1 Std1 20220317_GammaLot_QC_Panel1_Plate1_2… IL1R2     6
##  8 PltSet1 Std1 20220317_GammaLot_QC_Panel1_Plate1_2… IL6       6
##  9 PltSet1 Std1 20220317_GammaLot_QC_Panel1_Plate1_2… KLK3      6
## 10 PltSet1 Std1 20220317_GammaLot_QC_Panel1_Plate1_2… MUC16     6
## # … with 638 more rows

Scipy Functions

We also define a function that uses the average over the replicates and then fits the curve.

Fit curve and infer data

Data summary
Name Piped data
Number of rows 648
Number of columns 9
_______________________
Column type frequency:
character 4
list 1
numeric 4
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
assay 0 1 3 7 0 20 0
xponent_id 0 1 9 9 0 6 0
sample_type 0 1 6 6 0 1 0
file_name 0 1 54 54 0 11 0

Variable type: list

skim_variable n_missing complete_rate n_unique min_length max_length
units 648 0 0 1 1

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
net_mfi 0 1.00 14163.02 21739.15 11.75 255.52 2429.58 20020.27 107303.9 ▇▂▁▁▁
standard_expected_concentration 0 1.00 8773.47 27161.76 0.04 57.97 504.20 3985.00 234160.0 ▇▁▁▁▁
bead_count 0 1.00 47.72 9.91 35.00 40.00 47.00 54.00 81.0 ▇▆▃▁▁
inferred_concentration 13 0.98 45885.47 273323.46 0.00 22.35 513.96 6921.13 3134051.2 ▇▁▁▁▁

Several missing inferred_concentrations for the standard 1 in gamma lot (MIF, OPN, MUC1)

net_mfi for S1 for MUC1 gamma (and beta) is way higher than platinum standard - for the gamma lot S1 that are outside the S1 , we will assign them the S1 from the platinum standard itself since they are not in the quantiation range.

## # A tibble: 13 × 9
##    assay xponent_id net_mfi sample_type standard_expected_… units
##    <chr> <chr>        <dbl> <chr>                     <dbl> <lis>
##  1 MUC1  Standard1   43368. sample                       40 <dbl>
##  2 OPN   Standard1   35532. sample                   234160 <dbl>
##  3 MIF   Standard1   40445. sample                   129470 <dbl>
##  4 MIF   Standard1   46497. sample                   129470 <dbl>
##  5 MUC1  Standard1   37998. sample                       40 <dbl>
##  6 MUC1  Standard1   42132. sample                       40 <dbl>
##  7 MIF   Standard1   37366. sample                   129470 <dbl>
##  8 MIF   Standard1   44298. sample                   129470 <dbl>
##  9 CCL20 Standard1   45934. sample                     6990 <dbl>
## 10 MUC1  Standard1   38321. sample                       40 <dbl>
## 11 OPN   Standard1   31437. sample                   234160 <dbl>
## 12 MIF   Standard1   39026. sample                   129470 <dbl>
## 13 MIF   Standard1   42978. sample                   129470 <dbl>
## # … with 3 more variables: bead_count <dbl>, file_name <chr>,
## #   inferred_concentration <dbl>

## Warning in self$trans$transform(x): NaNs produced
## Warning: Transformation introduced infinite values in continuous
## x-axis
## Warning: Removed 2 rows containing missing values (geom_point).

Let’s generate these plots for all gamma standards for ALL proteins

## [[1]]

## 
## [[2]]

## 
## [[3]]

## 
## [[4]]

## 
## [[5]]

## 
## [[6]]

## 
## [[7]]

## 
## [[8]]

## 
## [[9]]

## 
## [[10]]

## 
## [[11]]

## 
## [[12]]

## 
## [[13]]

## 
## [[14]]
## Warning in self$trans$transform(x): NaNs produced
## Warning: Transformation introduced infinite values in continuous
## x-axis
## Warning: Removed 2 rows containing missing values (geom_point).

## 
## [[15]]

## 
## [[16]]

## 
## [[17]]

## 
## [[18]]

## 
## [[19]]

## 
## [[20]]

Final Assignments

For the final assignments, we will take the average over all the runs (5 for panel 1 and 6 for panel 2), and for the ones that are beyond the quantitation range of S1, we simply assign them S1 (even if they are quantifiable because we are not confident in our extrapolations).

## `summarise()` has grouped output by 'assay'. You can override
## using the `.groups` argument.
## Joining, by = "assay"
## Auto-refreshing stale OAuth token.
## x Request failed [429]. Retry 1 happens in 2.4 seconds ...
## x Request failed [429]. Retry 2 happens in 7.9 seconds ...
## x Request failed [429]. Retry 3 happens in 25.7 seconds ...
## ✓ Writing to "gamma-lot-specs-2022".
## ✓ Writing to sheet 'value_assignments'.

Part 3

We need to generate some estimate of precision for the samples from gamma lot (for all markers - not just the 7 proteins)

We will do this for the clinical reference samples only that we are sending to RDS.

  1. We subset the reference samples and the gamma standard data only
  2. We will change the standard_expected_concentration to the value assignments we did in part 2.
  3. We will proceed with fitting the curve and then retreive the inferred_concentrations for the reference samples.

Join with the gamma assignments

Intra-CVs

We will provide intra-CVs for

  1. Concentrations of the samples
## `summarise()` has grouped output by 'xponent_id', 'assay'. You
## can override using the `.groups` argument.
## `summarise()` has grouped output by 'xponent_id'. You can
## override using the `.groups` argument.
## `summarise()` has grouped output by 'xponent_id', 'assay'. You
## can override using the `.groups` argument.
## `summarise()` has grouped output by 'xponent_id'. You can
## override using the `.groups` argument.
## ✓ Writing to "gamma-lot-specs-2022".
## ✓ Writing to sheet 'Reference Samples Specs'.
  1. Standards (do we need to provide specs on standards?)